import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.border.EmptyBorder;
import javax.swing.JList;
import javax.swing.JSeparator;
import java.awt.List;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeMap;


public class VueRechercheParAuteur extends Vue {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private JPanel contentPane;
	private JButton buttonFermer;
	private JSeparator separator;

	private List listAuteurs;
	private List listOuvrages;
	private List listArticles;
	
	public VueRechercheParAuteur(Controleur controleur) {
		super(controleur);
		setTitle("Enregistrement d'un nouveau p�riodique");
		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 
		setBounds(100, 100, 450, 636);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		buttonFermer = new JButton("Fermer");
		buttonFermer.setEnabled(false);
		buttonFermer.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
			//().fermerVue(VueSaisiePeriodique.this);
				}
		});
		buttonFermer.setBounds(144, 562, 107, 25);
		contentPane.add(buttonFermer);
		
		JLabel lblSlctionnezLesAuteurs = new JLabel("Séléctionnez le(s) auteur(s) pour la recherche");
		lblSlctionnezLesAuteurs.setBounds(59, 23, 312, 14);
		contentPane.add(lblSlctionnezLesAuteurs);
		
		listAuteurs = new List();
		listAuteurs.setBounds(58, 49, 287, 101);
		contentPane.add(listAuteurs);
		
		separator = new JSeparator();
		separator.setBounds(0, 233, 434, 2);
		contentPane.add(separator);
		
		JButton buttonRech = new JButton("Rechercher");
		buttonRech.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				String[] auteur = listAuteurs.getItems();
				getControleur().rechOuvrageParAuteur(auteur[0]);
				}
		});
		buttonRech.setBounds(71, 186, 107, 23);
		contentPane.add(buttonRech);		
		
		JButton buttonAnnuler = new JButton("Annuler");
		buttonAnnuler.setBounds(251, 186, 94, 23);
		contentPane.add(buttonAnnuler);
		
		listOuvrages = new List();
		listOuvrages.setEnabled(false);
		listOuvrages.setMultipleSelections(false);
		listOuvrages.setBounds(144, 252, 201, 101);
		contentPane.add(listOuvrages);
		
		JLabel lblOuvrages = new JLabel("Ouvrage(s)");
		lblOuvrages.setEnabled(false);
		lblOuvrages.setHorizontalAlignment(SwingConstants.RIGHT);
		lblOuvrages.setBounds(32, 291, 82, 14);
		contentPane.add(lblOuvrages);
		
		JLabel lblArticles = new JLabel("Article(s)");
		lblArticles.setEnabled(false);
		lblArticles.setBounds(59, 451, 55, 14);
		contentPane.add(lblArticles);
		
		listArticles = new List();
		listArticles.setBounds(144, 409, 201, 115);
		contentPane.add(listArticles);
		
	}

	public void alimenteListeAuteur(TreeMap<String, Auteur> auteurs) {
		
		Set<String> auts = auteurs.keySet();
		Iterator<String> it = auts.iterator();
		listAuteurs.clear();
		while (it.hasNext()){
		   String cle = (String) it.next(); // tu peux typer plus finement ici
		   Auteur valeur = auteurs.get(cle); // tu peux typer plus finement ici
		   String nom = valeur.getNom();
		   listAuteurs.add(nom);
		}
		
	}
}
